package com.zzy.forum3.model;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@ApiModel("用户信息")
@Data
public class User {
    private Long id;

    @ApiModelProperty("用户名")
    private String username;

    @JsonIgnore
    private String password;

    @ApiModelProperty("昵称")
    private String nickname;

    @ApiModelProperty("电话号码")
    private String phoneNum;

    @ApiModelProperty("邮箱")
    private String email;

    @ApiModelProperty("性别")
    private Byte gender;

    @JsonIgnore
    private String salt;

    @ApiModelProperty("头像")
    @JsonInclude(JsonInclude.Include.ALWAYS) // 强制参与JSON序列化
    private String avatarUrl;

    @ApiModelProperty("发帖数量")
    private Integer articleCount;

    @ApiModelProperty("是否管理员")
    private Byte isAdmin;

    @ApiModelProperty("个人简介")
    private String remark;

    @JsonIgnore
    private Byte state;

    @JsonIgnore
    private Byte deleteState;

    @ApiModelProperty("注册日期")
    private Date createTime;

    private Date updateTime;

//    public Long getId() {
//        return id;
//    }
//
//    public void setId(Long id) {
//        this.id = id;
//    }
//
//    public String getUsername() {
//        return username;
//    }
//
//    public void setUsername(String username) {
//        this.username = username == null ? null : username.trim();
//    }
//
//    public String getPassword() {
//        return password;
//    }
//
//    public void setPassword(String password) {
//        this.password = password == null ? null : password.trim();
//    }
//
//    public String getNickname() {
//        return nickname;
//    }
//
//    public void setNickname(String nickname) {
//        this.nickname = nickname == null ? null : nickname.trim();
//    }
//
//    public String getPhoneNum() {
//        return phoneNum;
//    }
//
//    public void setPhoneNum(String phoneNum) {
//        this.phoneNum = phoneNum == null ? null : phoneNum.trim();
//    }
//
//    public String getEmail() {
//        return email;
//    }
//
//    public void setEmail(String email) {
//        this.email = email == null ? null : email.trim();
//    }
//
//    public Byte getGender() {
//        return gender;
//    }
//
//    public void setGender(Byte gender) {
//        this.gender = gender;
//    }
//
//    public String getSalt() {
//        return salt;
//    }
//
//    public void setSalt(String salt) {
//        this.salt = salt == null ? null : salt.trim();
//    }
//
//    public String getAvatarUrl() {
//        return avatarUrl;
//    }
//
//    public void setAvatarUrl(String avatarUrl) {
//        this.avatarUrl = avatarUrl == null ? null : avatarUrl.trim();
//    }
//
//    public Integer getArticleCount() {
//        return articleCount;
//    }
//
//    public void setArticleCount(Integer articleCount) {
//        this.articleCount = articleCount;
//    }
//
//    public Byte getIsAdmin() {
//        return isAdmin;
//    }
//
//    public void setIsAdmin(Byte isAdmin) {
//        this.isAdmin = isAdmin;
//    }
//
//    public String getRemark() {
//        return remark;
//    }
//
//    public void setRemark(String remark) {
//        this.remark = remark == null ? null : remark.trim();
//    }
//
//    public Byte getState() {
//        return state;
//    }
//
//    public void setState(Byte state) {
//        this.state = state;
//    }
//
//    public Byte getDeleteState() {
//        return deleteState;
//    }
//
//    public void setDeleteState(Byte deleteState) {
//        this.deleteState = deleteState;
//    }
//
//    public Date getCreateTime() {
//        return createTime;
//    }
//
//    public void setCreateTime(Date createTime) {
//        this.createTime = createTime;
//    }
//
//    public Date getUpdateTime() {
//        return updateTime;
//    }
//
//    public void setUpdateTime(Date updateTime) {
//        this.updateTime = updateTime;
//    }
}